/**
 * 反转字符串
 * ["h","e","l","l","o"]
 * ["o","l","l","e","h"]
 * 要求不能再创建新的变量，只能在原地修改
 */
public class LeetCode344 {
    public static void main(String[] args) {
        System.out.println(reverseString("hello".toCharArray()));
    }
//## 左右指针
// 结果比目标，小了要变大，左指针右移+
// 结果比目标，大了要变小，右指针左移-
    public static char[] reverseString(char[] s) {
        //左指针
        int left = 0;
        //右指针
        int right = s.length - 1;
        //左指针往右移， 右指针往左移，当左指针移动到 右指针 右边的时候就结束
        while (left < right) {
            // 将 此时 左右指针 指向的数 对调
            char temp = s[left];
            s[left] = s[right];
            s[right] = temp;
            //左指针右移一位
            left++;
            //右指针左移一位
            right--;
        }
        return s;
    }
}
